<?php

try {
    $url=$_REQUEST['url'];//接收传值
    if (!filter_var($url,FILTER_VALIDATE_URL)) {//验证输入内容是否为链接 （php正则）
        throw new Exception("请输入正确的链接地址");
    }
    $size = $_FILES['file']['size']; //获取上传文件大小
    if ($size === 0) {//大小为零，判断为未上传
        throw new Exception("不允许上传空文件");
    }
// var_dump($_FILES['file']);
    if ($size > 2048 * 1024) {//限制上传文件的尺寸
        throw new Exception("文件大小不得大于2M");
    }
    $allow = array("png", "jpg", "jpeg", "gif"); //限制上传文件类型
    $ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); //获取上传文件类型
// var_dump($ext);   
    if (!in_array($ext, $allow)) {//判断上传文件类型是否在规定类型内
        throw new Exception('不允许的图像格式');
    }
     require_once '../config/config.php';   //包含并运行指定文件
$path = ROOT.'/admin/upload/'.date('y/m/d/',time());//创建储存图片的文件夹
if (!file_exists($path) && !mkdir($path, 0777, true)) {
        throw new Exception('创建目录失败');   
  }  
  $destination=$path.md5(time().$_FILES['file']['name'].mt_rand(1, 99999)).'.'.$ext;//上传图片命名
  if(!move_uploaded_file($_FILES['file']['tmp_name'], $destination)){//移动临时文件
      throw new Exception('移动临时文件失败');
  }
  require_once '../config/img.inc.php';//执行图片缩放函数
  $filename= suofang($destination, 1400, 400);//定义图片缩放
  if (!$filename) {
        throw new Exception('缩放图像失败');
    }
    $src= str_replace(ROOT,'',$filename); //获取缩放图片路径
  $conn=new mysqli(HOST,USER,PASSWORD,DATABASE);  //连接数据库
    if($conn->connect_errno){
        throw new Exception('连接数据库失败'.$conn->connect_error);  
    } 
 $stmt=$conn->prepare("insert into banner_list(src,time,url) values(?,?,?)");//准备上传文件写入数据库的命令
 $time=time();
 $stmt->bind_param('sis', $src,$time,$url); //绑定参数  
 $stmt->execute();//执行
 if($stmt->errno){
     throw new Exception('插入数据失败');
 }
 echo "<script>alert('上传成功,点击返回');window.location='bannerselect.php'</script>";
    
} catch (Exception $exc) {
    echo $exc->getMessage();
}


